const sum = (a, b, duration = 1000) => {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve(a + b)
    }, duration)
  })
}

sum(1,2)
.then(value => sum(value, 3))
.then(value => sum(value, 4))
.then(value => sum(value, 5))
.then(value => console.log('value = ', value))
.catch(reason => console.log('reason = ', reason))